[PATCH 26/26] libblkid: iso9660: allocate enough space for UTF16 decoding
authorThomas Weißschuh <thomas@t-8ch.de>
Thu, 10 Nov 2022 18:48:20 +0000 (19:48 +0100)
committerChris Hofstaedtler <zeha@debian.org>
Fri, 25 Nov 2022 15:19:08 +0000 (15:19 +0000)
commit9f857806a08599c0c3155df7d7570f708af7d1a8
treec683517323d60bca4a85154fe9024d65d3a384f7
parentfd23204fcbd849f01a7197e94277a7c0bd65da8e
[PATCH 26/26] libblkid: iso9660: allocate enough space for UTF16 decoding

When merge_utf16be_ascii() encounters high-codepoint surrogate pairs it
emits four bytes of output for one byte of ascii input.
In addition with the remaining ascii characters from the second loop we
need up to 5 * sizeof(input) / 2 bytes as output buffer.

As we decode up to 128 ascii characters with merge_utf16be_ascii() we
need 320 bytes of buffer available.

Furthermore adapt merge_utf16be_ascii() to not write paste the output
buffer end.

Fix OSS-Fuzz issue 53149 ( #1887 )

Gbp-Pq: Topic upstream
Gbp-Pq: Name 0026-libblkid-iso9660-allocate-enough-space-for-UTF16-dec.patch
libblkid/src/superblocks/iso9660.c